function maxInWindows(num, size)
{
    // write code here
   let queue = []
   let res = []
   for(let i = 0;i < size;i++){
     while(queue.length && num[queue[queue.length - 1]] < num[i]){ // 从后向前弹出比num[i]小的
       queue.pop()
     }
     queue.push(i) // 插入num[i]的下标
   }
   res.push(num[queue[0]])
   for(let i = size;i < num.length;i++){
     if(queue[0] <= i - size){ // 例如 size = 3 i=6的时候其范围是4,5,6 i-size=3 此时3已不再范围之内 所以是queue[0] <= i-size
       queue.shift()
     }
     while(queue.length && num[queue[queue.length - 1]] < num[i]){
      queue.pop()
    }
    queue.push(i)
    res.push(num[queue[0]])
   }
   return res
}
module.exports = {
    maxInWindows : maxInWindows
};